package io.geekidea.boot.salesslip.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.geekidea.boot.outbound.dto.OutboundExcel;
import io.geekidea.boot.outbound.query.OutboundQuery;
import io.geekidea.boot.salesslip.dto.SalesChartDto;
import io.geekidea.boot.salesslip.dto.SalesslipExcel;
import io.geekidea.boot.salesslip.entity.Salesslip;
import io.geekidea.boot.salesslip.query.SalesslipQuery;
import io.geekidea.boot.warehousentry.dto.StatisticsDto;
import io.geekidea.boot.warehousentry.query.WarehousentryQuery;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


@Mapper
public interface SalesslipMapper extends BaseMapper<Salesslip> {

    int delById(@Param("id")Integer id);

    Page<Salesslip> getSalesslipPageList(Page<Salesslip> page, @Param("param") SalesslipQuery salesslipQuery);

    List<SalesslipExcel> getDownloadList(@Param("param") SalesslipQuery salesslipQuery);

    int getSingularCount(@Param("param") WarehousentryQuery warehousentryQuery);

    List<StatisticsDto> getWeekCount(@Param("param") WarehousentryQuery warehousentryQuery);

    List<SalesChartDto> getMoneyCount(@Param("param") WarehousentryQuery warehousentryQuery);
}
